﻿using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Application.Services;
using YaAppoint.Devices;
using YaAppoint.Response;

namespace YaAppoint.CustomSettings
{
    [RemoteService(isEnabled: false)]
    // 科室设备类型设置服务
    public interface ICustomSettingAppService:IApplicationService
    {
        // 获取到诊模式选项
        BackJson GetCheckInModeOptions();

        // 获取设置
        Task<BackJson> GetSetting(SettingLevel level, Guid? depId,Guid? devicTypeId,Guid? deviceId);

        // 获取科室设备类型设置
        Task<CustomSettingDto> GetDeviceTypeSetting(Guid depId, Guid deviceTypeId);

        // 保存设置
        Task<BackJson> Save(CustomSettingDto dto);

        // 左侧边栏树Data
        Task<BackJson> GetLeftTreeData(Guid? depId);

        // 获取设备自定义设置
        Task<CustomSettingDto> GetDeviceSetting(Guid deviceId);

        // 批量获取设备设置
        Task<List<CustomSettingDto>> GetDeviceSettingList(List<DeviceDto> devices);

        // 获取全局设置
        Task<CustomSettingDto> GetGlobalSetting();

        // 获取hisIntervalOptions
        BackJson GetHisIntervalSpanOptions();
    }
}
